package ooap;

/**
 * @author yuisama
 * @date 2022/09/07 19:24
 * static关键字的使用
 **/
public class StaticTest {
    int m = 0;
    // static修饰的内容统称为静态域(既有属性，也有方法)
    static int n = 10;
    public static void main(String[] args) {
        StaticTest test1 = null;
        System.out.println(test1.n);
        // this表示当前对象的引用，也属于成员域，不能在静态方法中直接使用this关键字。
//        System.out.println(this.n);
        // 访问其他类的静态方法，必须加上类名称来访问，不然编译器只会在当前类中查找同名静态方法
        Test.hello();
        System.out.println(n);
        // 不能直接在静态方法中访问成员属性，因为成员属性必须通过对象来调用
        StaticTest stest = new StaticTest();
        // 成员变量必须通过对象来访问
        System.out.println(stest.m);
        // 访问其他的静态方法 == 在同一个类中，可以不加类名称访问静态方法
        StaticTest.test();
    }
    // 静态方法
    public static void test() {
        System.out.println("该类中的静态方法");
    }

    public void fun() {
        System.out.println("该类中的成员方法");
    }
}

class Test {
    public static void hello() {
        System.out.println("Test类中的静态方法");
    }
}


